Remember to turn off your computer before 2038 19/01 03:14:08



Custom handwired keyboard


Created: 2024-03-01 | Modified: 2024-10-16

Process of how to create a custom designed hardwired keyboard

TODO ROUGH PRICE

Plan

Start out by getting a rough plan of what you want to make, so you can order parts, as takes a while, if you wish to do it cheaply.

First of all you need to decide how big your keyboard needs to be, do you wish to make an 100%, macropad, ultra-compact, split, do you want dedicated buttons for all 24 function keys? none of the above?

You can play around with keyboard-layout-editor.com to find a layout you like, see different layout under "Preset"

Massive repo of inspiration: keebfolio.netlify.app

Switches

Design (Will affect keyboard design)

Type

Generally there 3 types, originally made by cherry, I'd recommend none of them - Clicky - Typically blue (obnoxious) - Linear - Typically red (Did I press that button?) - Tactile - Typically brown (Mushy)

But do limit your scope enough, so you don't lose interest before completing the core project. Be ready to test ideas feasibility and scrap them if infeasible.

Switch matrix

So what parts do you need? You need to decide which method you wish to use, to wire up your switches - Matrix with diodes (recommended method) - Requires 1 diodes per switch, diodes are cheap - Cable routing is more manageable - Straight (1 wire per switch to microcontroller) - Requires enough pins

An I/O expander can be used to add additional pins to a microcontroller, it's also useful for split keyboards, as it can require only 4 pins (I²C + power and ground) from the microcontroller

Order parts (Consumables)

Checklist

Keyboard specific

General maker

Tools - non consumables

Waiting for parts

Layout design finalisation

Staggered? Ortholinear? Something else entirely?

keyboard-layout-editor.com

keyboard-layout-editor.com - My layout

Other great guides

Switch plate generation

Testing fit

3D printing

3D printed keycaps

Wiring test 3x3

The best way to eliminate unknowns and avoid wasting work, is by wiring up a small part, and testing this

Firmware setup

No unknowns, home run, final stretch, grind

Extra firmware features

Inspire, show opportunities grep QMK repo

Show off

Get ideas for your next version


Comments













(Will await approval before becoming public)